Method and apparatus for data management of third party services

ABSTRACT

Aspects of the subject disclosure may include, for example, a method comprising caching, by a server comprising a processor, a subscriber profile in a network repository to create a cached subscriber profile. The cached subscriber profile comprises a replica of stored subscriber data. The method also comprises updating the cached subscriber profile in accordance with subscriber use of a first application from a first application provider to produce a first updated version of the cached subscriber profile. The method further comprises updating the first updated version of the cached subscriber profile in accordance with subscriber use of a second application from a second application provider to produce a second updated version of the cached subscriber profile. The first and second updated versions of the cached subscriber profile are accessible by the first application provider and by the second application provider. Other embodiments are disclosed.

FIELD OF THE DISCLOSURE

The subject disclosure relates to a method and apparatus for datamanagement of third-party services, to facilitate provision ofthird-party services to subscribers via a network.

BACKGROUND

A network provider typically offers a platform for third parties todeliver services and applications to network subscribers. This platformshould be provided without jeopardizing the integrity of subscribers'personal data or service providers' databases.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 depicts an illustrative embodiment of a communications networkhaving subscribers and third-party application providers;

FIG. 2 depicts an illustrative embodiment of a communications networkincluding a main consolidated network repository (CNR) and a shadow CNR;

FIG. 3 depicts an illustrative embodiment of a communications networkincluding a dynamic caching function in a shadow CNR, in accordance withthe disclosure;

FIG. 4 schematically illustrates multiple versions of cached subscriberprofiles accessed by third-party application providers in the shadowCNR, in accordance with an embodiment of the disclosure;

FIG. 5 is a flowchart illustrating a procedure in which subscriberprofiles in a cached layer of the shadow CNR can be accessed andupdated, in accordance with an embodiment of the disclosure;

FIG. 6 schematically illustrates a network architecture including a CNRand a caching function, in accordance with an embodiment of thedisclosure;

FIG. 7 depicts an illustrative embodiment of a communication systemincluding a wireless communication network;

FIG. 8 depicts an illustrative embodiment of a communication systemincluding telephone networks;

FIG. 9 depicts an illustrative embodiment of a web portal forinteracting with the communication systems of FIGS. 7 and 8;

FIG. 10 depicts an illustrative embodiment of a communication device;and

FIG. 11 is a diagrammatic representation of a machine in the form of acomputer system within which a set of instructions, when executed, maycause the machine to perform any one or more of the methods describedherein.

DETAILED DESCRIPTION

The subject disclosure describes, among other things, illustrativeembodiments for dynamic caching of network subscriber profiles toprovide data management for subscriber data and third-partyapplications. Other embodiments are described in the subject disclosure.

One or more aspects of the subject disclosure include establishing acache function in a shadow consolidated network repository, so that acached replica of a subscriber profile can be retrieved and updated by athird-party agent without jeopardizing the integrity of the subscriberdata.

One embodiment of the subject disclosure includes a server comprising amemory to store instructions and a processor coupled to the memory. Theprocessor, responsive to executing the instructions, performsoperations. The operations comprise storing subscriber data and networkdata in a first repository of a communication network of a networkprovider. The subscriber data is obtained from equipment of a subscriberto the communication network. The operations also comprise facilitatingestablishing a second repository in communication with the firstrepository and accessible by a first application provider, and caching asubscriber profile in the second repository to create a cachedsubscriber profile. The cached subscriber profile enables updating inaccordance with subscriber use of a first application to produce a firstupdated version of the cached subscriber profile. The cached subscriberprofile comprises the subscriber data from the first repository andinformation related to the subscriber use of the first application fromthe first application provider. The first updated version is accessibleby the first application provider. Access to the subscriber data in thefirst repository by the first application provider is prevented.

One embodiment of the subject disclosure includes a non-transitorycomputer-readable storage device comprising instructions. Theinstructions, when executed by a processor, cause the processor toperform operations. The operations comprise caching a subscriber profilein a network repository to create a cached subscriber profile. Thecached subscriber profile comprises a replica of stored subscriber data.The operations also comprise updating the cached subscriber profile inaccordance with subscriber use of a first application from a firstapplication provider to produce a first updated version of the cachedsubscriber profile. The first updated version is accessible by the firstapplication provider. Access to the stored subscriber data by the firstapplication provider is prevented.

One embodiment of the subject disclosure includes a method comprisingcaching, by a server comprising a processor, a subscriber profile in anetwork repository to create a cached subscriber profile. The cachedsubscriber profile comprises a replica of stored subscriber data. Themethod also comprises updating, by the server, the cached subscriberprofile in accordance with subscriber use of a first application from afirst application provider to produce a first updated version of thecached subscriber profile. The method further comprises updating, by theserver, the first updated version of the cached subscriber profile inaccordance with subscriber use of a second application from a secondapplication provider to produce a second updated version of the cachedsubscriber profile. The first updated version of the cached subscriberprofile and the second updated version of the cached subscriber profileare accessible by the first application provider and by the secondapplication provider.

FIG. 1 schematically illustrates a system 100 for providing applicationsand delivering services to subscribers to a network. As shown in FIG. 1,network 101 is provided and maintained by network provider 102 and canbe accessed by equipment 105 of subscribers to the network. Thesubscriber equipment also can communicate with third-party providers 150of various applications and services over network 101.

The network architecture provides for a consolidated network repository(CNR) 110. The CNR serves as a platform for centrally storing,accessing, retrieving and updating subscriber and network data. Inparticular, the CNR can store information 115 regarding each subscriber(e.g. demographic data, present location, media viewing habits,purchasing preferences, etc.). This information is generally referred toas a subscriber profile. In this embodiment, access to the subscriberprofile is restricted to trusted parties only, in order to protect theintegrity of the data and to prevent unauthorized disclosure.Specifically, non-trusted parties including the third-party agents(application and service providers) 150 are prevented from accessing orretrieving subscriber profiles stored in the CNR.

FIG. 2 schematically illustrates a system 200 in which CNR 110 is linkedto a shadow CNR 210 that includes a database 212. Details of the shadowCNR are discussed in U.S. application Ser. No. 14/134,126, which isincorporated herein by reference in its entirety. Database 212 can storeinformation 215 for each subscriber using a given service. In anembodiment, a set of specific parameters for each subscriber is storedin database 212 for each service. If the network provider 102 or one ofthe third-party agents 150 offers a new service, a new database isaccordingly provided with a set of parameters for each subscriber usingthe service.

Database 212 can be made available to application and service providersglobally while maintaining the security of the data, since data in themain CNR is not affected by accessing, retrieval or updating activity inthe shadow CNR. In this embodiment, a third-party agent 150 can accessdatabase 212 of shadow CNR 210 to obtain information 215 regarding asubscriber using a specific service, but is not permitted to alter theinformation. In other embodiments, a third-party agent may be permittedto retrieve and update a subscriber profile.

FIG. 3 illustrates a network 300 with a shadow CNR in which the shadowCNR 210 is provided with a dynamic caching function 310, in accordancewith an embodiment of the disclosure. As shown schematically in FIG. 3,the caching function 310 temporarily stores a subscriber profile 315that imports data from the subscriber profile 115 of the main CNR. Inthis embodiment, the cached subscriber profile 315 can be retrieved andmodified by the third-party agents 150, thereby creating new versions ofthe cached profile. The original and new versions are stored in a cachelayer of the shadow CNR, which serves as an intermediate data managementlayer between the CNR and the third-party agents. This arrangementpermits subscriber data to be accessed by third parties whilemaintaining the integrity of the data. The subscriber data in the mainCNR remains isolated from the third-party agents, which are notpermitted to access or retrieve profile 115.

Since a variety of data management functions can be performed in thecache and multiple versions of the subscriber profile can be maintainedin the cache, the dynamic caching function 310 can reduce trafficbetween the main CNR 110 and the shadow CNR 210. In addition, since theshadow CNR interfaces to various elements of the network 101, thedynamic cache function can control the quality and consistency oftransactions between the shadow CNR and the various elements of thenetwork.

FIG. 4 schematically illustrates an embodiment 400 of the disclosureincluding a shadow CNR cache layer 410 in which multiple versions of asubscriber profile are created, accessed, retrieved and modified bythird-party application providers. The original version 411 is atemporary copy of the subscriber profile maintained in the main CNR. Asshown in FIG. 4, application “A” 152 (for example, a bankingapplication) can retrieve and update the profile, thus creating a secondversion 412. A different application “B” 153 then can retrieve andupdate the latest version of the profile and thus create a third version413. Each version is marked with a version number. Furthermore, in anembodiment, the caching function monitors the changes being made to eachprofile and attaches a label or flag 415 to the latest (most recentlyupdated) version. An application can determine whether it has retrievedthe latest version according to the presence of the flag. The flagserves as a trigger to inform the subscribed services of the most recentchanges to a profile.

Different application providers 152, 153 will typically maintaindatabases with different customer data schemes. For example, a networksubscriber with profile 115 who is a customer in both a bankingapplication and an entertainment application will have customer recordsin databases 452, 453 respectively. Since the applications havedifferent functions, the data schemes for a given customer in databases452, 453 will be different. In order to ensure that each application hasaccess to the most recent version of the subscriber profile, the dynamiccaching function propagates the current version to the variousapplications, including applications that do not have the currentversion. In an embodiment, this can be done using an Open API(Application Program Interface) to push profile changes to allapplication and service providers, independently of the specific datascheme for a given provider. For example, if application 152 is asubscriber's home security service and application 153 is a socialnetworking application, a subscriber may update her location viaapplication 153 so that version 413 has a more current location thanversion 412. The Open API can propagate the most recent version,including the current subscriber location, to the home security serviceapplication 152.

Changes to the cached subscriber profile are made in accordance withdata management policies established by the network provider 102. In anembodiment, the policies are implemented by the main CNR 110, so thatthe main CNR controls requests to update a cached subscriber profile.The main CNR can discard a profile version, or deny a request, if it isnot in accordance with the policies. Since older versions of a profileare not automatically discarded, the last version in accordance with thepolicies can be relabeled as the current version. Similarly, if an errorin the latest version is discovered, that version can be discarded and aprevious version relabeled as the current version.

It will be appreciated that multiple cache layers can be established forthe shadow CNR. Accordingly, a multiple layer caching management schemecan be implemented for the cached subscriber data, wherein hierarchiesof layers are provided. This also permits multiple sessions to besimultaneously set up and/or terminated for access and retrieval of thecached data by multiple and simultaneous third party agents(application/service providers).

It will be appreciated that the dynamic caching function of the shadowCNR can also provide a cached version of a database residing in the mainCNR. For example, a home location register (HLR) of the network can belinked to a supplementary database that includes the status of thirdparty agents with respect to the home location register. The cachingfunction can monitor changes to a cached version of this supplementarydatabase. Once those changes are completed and verified, the cachingfunction can return the latest version of the database to the main CNR.

FIG. 5 is a flowchart illustrating a procedure 500 in which a cachedlayer of the shadow CNR is established and subscriber profiles thereinare retrieved and updated, in accordance with an embodiment of thedisclosure. The shadow CNR is established in communication with the mainCNR (step 502) and provides a database of subscribers and services (step504). A cache layer, with a dynamic cache function, is then establishedin the shadow CNR (step 506). A subscriber profile is copied from themain CNR to the cache layer (step 508). In step 510, the cachedsubscriber profile is accessed, retrieved and updated by third partyagents (application and service providers), so that a new version of thecached subscriber profile is created. The new version is stored in thecache layer (step 512) and may be labeled with a flag (step 513). If anerror is discovered in the latest version of the cached subscriberprofile, it is discarded and an older version is relabeled as the latestversion (step 515).

In this embodiment, the changes to the profile corresponding to the mostrecent update are propagated across the various applications (step 514).An Open API can be used to push the profile changes to the applications.

In this embodiment, each dynamic caching session has a timer functionthat provides timer management for the cached subscriber data. Eachsubscriber profile may have an associated individual timer, so that eachsession has a limited time for a given subscriber. If the particularsession timer has not expired (step 516), new versions can continue tobe retrieved and updated. If the particular session timer has expired,the individual session is terminated and the latest version of thesubscriber profile is stored in the main CNR (step 518).

FIG. 6 illustrates an embodiment 600, in which the shadow CNR dynamicsubscriber data caching function is realized as part of an accessadministration function (AAF) subsystem in the network integration andexpansion subsystem (NIES). As shown in FIG. 6, the common architecturefor real-time services (CARTS) 610 includes the main CNR 110, inaddition to operations support systems and business support systems(OSS/BSS), session initiation protocol (SIP) functions, the runtimeexecution environment, and CARTS applications. The NIES 602 is linked tovarious networks including internet protocol (IP) access networks andcircuit access networks. The NIES has several components including atelephone number mapping function (ENUM) and a database linked to anaccess network discovery and selection function (ANDSF). The NIES alsoincludes the AAF subsystem 601 including the dynamic policy and securityfunction (DP&S) and the dynamic subscriber data caching function 310.

FIG. 7 depicts an illustrative embodiment of a first communicationsystem 700 for delivering media content. The communication system 700can represent a broadcast media system. Communication system 700 can beoverlaid or operably coupled with network 101 as another representativeembodiment of communication system 700. For instance, one or moredevices illustrated in the communication system 700 of FIG. 7 canoperate as a server

The media system can include a super head-end office (SHO) 710 with atleast one super headend office server (SHS) 711 which receives mediacontent from satellite and/or terrestrial communication systems. In thepresent context, media content can represent, for example, audiocontent, moving image content such as 2D or 3D videos, video games,virtual reality content, still image content, and combinations thereof.The SHS server 711 can forward packets associated with the media contentto one or more video head-end servers (VHS) 714 via a network of videohead-end offices (VHO) 712 according to a multicast communicationprotocol.

The VHS 714 can distribute multimedia broadcast content via an accessnetwork 718 to commercial and/or residential buildings 702 housing agateway 704 (such as a residential or commercial gateway). The accessnetwork 718 can represent a group of digital subscriber line accessmultiplexers (DSLAMs) located in a central office or a service areainterface that provide broadband services over fiber optical links orcopper twisted pairs 719 to buildings 702. The gateway 704 can usecommunication technology to distribute broadcast signals to mediaprocessors 706 such as Set-Top Boxes (STBs) which in turn presentbroadcast channels to media devices 708 such as computers or televisionsets managed in some instances by a media controller 707 (such as aninfrared or RF remote controller).

The gateway 704, the media processors 706, and media devices 708 canutilize tethered communication technologies (such as coaxial, powerlineor phone line wiring) or can operate over a wireless access protocolsuch as Wireless Fidelity (WiFi), Bluetooth®, Zigbee® or other presentor next generation local or personal area wireless network technologies.By way of these interfaces, unicast communications can also be invokedbetween the media processors 706 and subsystems of the media system forservices such as video-on-demand (VoD), browsing an electronicprogramming guide (EPG), or other infrastructure services.

A satellite broadcast television system 729 can be used in the mediasystem of FIG. 7. The satellite broadcast television system can beoverlaid, operably coupled with, or replace the media system as anotherrepresentative embodiment of communication system 700. In thisembodiment, signals transmitted by a satellite 715 that include mediacontent can be received by a satellite dish receiver 731 coupled to thebuilding 702. Modulated signals received by the satellite dish receiver731 can be transferred to the media processors 706 for demodulating,decoding, encoding, and/or distributing broadcast channels to the mediadevices 708. The media processors 706 can be equipped with a broadbandport to an Internet Service Provider (ISP) network 732 to enableinteractive services such as VoD and EPG as described above.

In yet another embodiment, an analog or digital cable broadcastdistribution system such as cable TV system 733 can be overlaid,operably coupled with, or replace the media system and/or the satelliteTV system as another representative embodiment of communication system700. In this embodiment, the cable TV system 733 can also provideInternet, telephony, and interactive media services.

The subject disclosure can apply to other present or next generationover-the-air and/or landline media content services system.

Some of the network elements of the media system can be coupled to oneor more computing devices 730, a portion of which can operate as a webserver for providing web portal services over the ISP network 732 towireline media devices 708 or wireless communication devices 716. In anembodiment, a wireless communication device 716 can be used assubscriber equipment 105 to access network 101

Communication system 700 can also provide for all or a portion of thecomputing devices 730 to function as a server using computing andcommunication technology to perform the dynamic caching functiondescribed above. Server 730 can perform, among other things, theprocedure 500 described in FIG. 5. For instance, server 730 can functionas a network device providing the main CNR 110, shadow CNR 210, andcaching layer 410 of FIGS. 3 and 4. The media processors 706 andwireless communication devices 716 can be provisioned with softwarefunctions to utilize the services of server 730. For instance, mediaprocessors 706 and wireless communication devices 716 can be used bynetwork subscribers as subscriber equipment 105 as shown in FIGS. 1-3.

Multiple forms of media services can be offered to media devices overlandline technologies such as those described above. Additionally, mediaservices can be offered to media devices by way of a wireless accessbase station 717 operating according to common wireless access protocolssuch as Global System for Mobile or GSM, Code Division Multiple Accessor CDMA, Time Division Multiple Access or TDMA, Universal MobileTelecommunications or UMTS, World interoperability for Microwave orWiMAX, Software Defined Radio or SDR, Long Term Evolution or LTE, and soon. Other present and next generation wide area wireless access networktechnologies can be used in one or more embodiments of the subjectdisclosure.

FIG. 8 depicts an illustrative embodiment of a communication system 800employing an IP Multimedia Subsystem (IMS) network architecture tofacilitate the combined services of circuit-switched and packet-switchedsystems. Communication system 800 can be overlaid or operably coupledwith network 101 (including main CNR 110, shadow CNR 210 and cache layer410) and communication system 700 as another representative embodimentof communication system 700. In particular, this system can include anon-transitory computer-readable storage device comprising instructionswhich, when executed by a processor, cause the processor to performoperations. The operations comprise caching a subscriber profile in anetwork repository to create a cached subscriber profile. The cachedsubscriber profile comprises a replica of stored subscriber data. Theoperations also comprise updating the cached subscriber profile inaccordance with subscriber use of a first application from a firstapplication provider to produce a first updated version of the cachedsubscriber profile. The first updated version is accessible by the firstapplication provider. Access to the stored subscriber data by the firstapplication provider is prevented.

Communication system 800 can comprise a Home Subscriber Server (HSS)840, a tElephone NUmber Mapping (ENUM) server 830, and other networkelements of an IMS network 850. The IMS network 850 can establishcommunications between IMS-compliant communication devices (CDs) 801,802, Public Switched Telephone Network (PSTN) CDs 803, 805, andcombinations thereof by way of a Media Gateway Control Function (MGCF)820 coupled to a PSTN network 560. The MGCF 820 need not be used when acommunication session involves IMS CD to IMS CD communications. Acommunication session involving at least one PSTN CD may utilize theMGCF 820.

IMS CDs 801, 802 can register with the IMS network 850 by contacting aProxy Call Session Control Function (P-CSCF) which communicates with aninterrogating CSCF (I-CSCF), which in turn, communicates with a ServingCSCF (S-CSCF) to register the CDs with the HSS 840. To initiate acommunication session between CDs, an originating IMS CD 801 can submita Session Initiation Protocol (SIP INVITE) message to an originatingP-CSCF 804 which communicates with a corresponding originating S-CSCF806. The originating S-CSCF 806 can submit the SIP INVITE message to oneor more application servers (ASs) 817 that can provide a variety ofservices to IMS subscribers.

For example, the application servers 817 can be used to performoriginating call feature treatment functions on the calling party numberreceived by the originating S-CSCF 806 in the SIP INVITE message.Originating treatment functions can include determining whether thecalling party number has international calling services, call IDblocking, calling name blocking, 7-digit dialing, and/or is requestingspecial telephony features (e.g., *72 forward calls, *73 cancel callforwarding, *67 for caller ID blocking, and so on). Based on initialfilter criteria (iFCs) in a subscriber profile associated with a CD, oneor more application servers may be invoked to provide various calloriginating feature services.

Additionally, the originating S-CSCF 806 can submit queries to the ENUMsystem 830 to translate an E.164 telephone number in the SIP INVITEmessage to a SIP Uniform Resource Identifier (URI) if the terminatingcommunication device is IMS-compliant. The SIP URI can be used by anInterrogating CSCF (I-CSCF) 807 to submit a query to the HSS 840 toidentify a terminating S-CSCF 814 associated with a terminating IMS CDsuch as reference 802. Once identified, the I-CSCF 807 can submit theSIP INVITE message to the terminating S-CSCF 814. The terminating S-CSCF814 can then identify a terminating P-CSCF 816 associated with theterminating CD 802. The P-CSCF 816 may then signal the CD 802 toestablish Voice over Internet Protocol (VoIP) communication services,thereby enabling the calling and called parties to engage in voiceand/or data communications. Based on the iFCs in the subscriber profile,one or more application servers may be invoked to provide various callterminating feature services, such as call forwarding, do not disturb,music tones, simultaneous ringing, sequential ringing, etc.

In some instances the aforementioned communication process issymmetrical. Accordingly, the terms “originating” and “terminating” inFIG. 8 may be interchangeable. It is further noted that communicationsystem 800 can be adapted to support video conferencing. In addition,communication system 800 can be adapted to provide the IMS CDs 801, 802with the multimedia and Internet services of communication system 700 ofFIG. 7.

If the terminating communication device is instead a PSTN CD such as CD803 or CD 805 (in instances where the cellular phone only supportscircuit-switched voice communications), the ENUM system 830 can respondwith an unsuccessful address resolution which can cause the originatingS-CSCF 806 to forward the call to the MGCF 820 via a Breakout GatewayControl Function (BGCF) 819. The MGCF 820 can then initiate the call tothe terminating PSTN CD over the PSTN network 560 to enable the callingand called parties to engage in voice and/or data communications.

It is further appreciated that the CDs of FIG. 8 can operate as wirelineor wireless devices. For example, the CDs of FIG. 8 can becommunicatively coupled to a cellular base station 821, a femtocell, aWiFi router, a Digital Enhanced Cordless Telecommunications (DECT) baseunit, or another suitable wireless access unit to establishcommunications with the IMS network 850 of FIG. 8. The cellular accessbase station 821 can operate according to common wireless accessprotocols such as GSM, CDMA, TDMA, UMTS, WiMax, SDR, LTE, and so on.Other present and next generation wireless network technologies can beused by one or more embodiments of the subject disclosure. Accordingly,multiple wireline and wireless communication technologies can be used bythe CDs of FIG. 8.

Cellular phones supporting LTE can support packet-switched voice andpacket-switched data communications and thus may operate asIMS-compliant mobile devices. In this embodiment, the cellular basestation 821 may communicate directly with the IMS network 850 as shownby the arrow connecting the cellular base station 821 and the P-CSCF816.

Alternative forms of a CSCF can operate in a device, system, component,or other form of centralized or distributed hardware and/or software.Indeed, a respective CSCF may be embodied as a respective CSCF systemhaving one or more computers or servers, either centralized ordistributed, where each computer or server may be configured to performor provide, in whole or in part, any method, step, or functionalitydescribed herein in accordance with a respective CSCF. Likewise, otherfunctions, servers and computers described herein, including but notlimited to, the HSS, the ENUM server, the BGCF, and the MGCF, can beembodied in a respective system having one or more computers or servers,either centralized or distributed, where each computer or server may beconfigured to perform or provide, in whole or in part, any method, step,or functionality described herein in accordance with a respectivefunction, server, or computer.

The server 730 of FIG. 7 can be operably coupled to communication system800 for purposes similar to those described above. Server 730 canperform the dynamic caching function 310 thereby provide networkservices to the CDs 801, 802, 803 and 805 of FIG. 8. CDs 801, 802, 803and 805 can be adapted with software for use as subscriber equipment 105to utilize server 730. Server 730 can be an integral part of theapplication server(s) 817, which can be adapted to the operations of theIMS network 850.

For illustration purposes only, the terms S-CSCF, P-CSCF, I-CSCF, and soon, can be server devices, but may be referred to in the subjectdisclosure without the word “server.” It is also understood that anyform of a CSCF server can operate in a device, system, component, orother form of centralized or distributed hardware and software. It isfurther noted that these terms and other terms such as DIAMETER commandsare terms can include features, methodologies, and/or fields that may bedescribed in whole or in part by standards bodies such as 3^(rd)Generation Partnership Project (3GPP). It is further noted that some orall embodiments of the subject disclosure may in whole or in partmodify, supplement, or otherwise supersede final or proposed standardspublished and promulgated by 3GPP.

FIG. 9 depicts an illustrative embodiment of a web portal 902 of acommunication system 900. Communication system 900 can be overlaid oroperably coupled with network 101, communication system 700, and/orcommunication system 800 as another representative embodiment ofcommunication system 700, and/or communication system 800. The webportal 902 can be used for managing services of network 101 and a serverperforming procedure 500, and communication systems 700-800. A web pageof the web portal 902 can be accessed by a Uniform Resource Locator(URL) with an Internet browser using an Internet-capable communicationdevice such as those described in FIGS. 7-8. The web portal 902 can beconfigured, for example, to access a media processor 706 and servicesmanaged thereby such as a Digital Video Recorder (DVR), a Video onDemand (VoD) catalog, an Electronic Programming Guide (EPG), or apersonal catalog (such as personal videos, pictures, audio recordings,etc.) stored at the media processor 706. The web portal 902 can also beused for provisioning IMS services described earlier, provisioningInternet services, provisioning cellular phone services, and so on.

The web portal 902 can further be utilized to manage and provisionsoftware applications and to adapt these applications as may be desiredby subscribers and/or service providers 150. For instance, subscribersto network 101 can log into their on-line accounts and provision server730 with profile 115 and additional information to enable the server tocommunicate with application/service providers 150. Service providerscan log onto an administrator account to provision, monitor and/ormaintain databases shown in FIG. 4.

FIG. 10 depicts an illustrative embodiment of a communication device1000. Communication device 1000 can serve in whole or in part as anillustrative embodiment of subscriber equipment shown in FIGS. 1-3, orthe devices depicted in FIGS. 7-8.

Communication device 1000 can comprise a wireline and/or wirelesstransceiver 1002 (herein transceiver 1002), a user interface (UI) 1004,a power supply 1014, a location receiver 1016, a motion sensor 1018, anorientation sensor 1020, and a controller 1006 for managing operationsthereof. The transceiver 1002 can support short-range or long-rangewireless access technologies such as Bluetooth®, ZigBee®, WiFi, DECT, orcellular communication technologies, just to mention a few (Bluetooth®and ZigBee® are trademarks registered by the Bluetooth® Special InterestGroup and the ZigBee® Alliance, respectively). Cellular technologies caninclude, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO,WiMAX, SDR, LTE, as well as other next generation wireless communicationtechnologies as they arise. The transceiver 1002 can also be adapted tosupport circuit-switched wireline access technologies (such as PSTN),packet-switched wireline access technologies (such as TCP/IP, VoIP,etc.), and combinations thereof.

The UI 1004 can include a depressible or touch-sensitive keypad 1008with a navigation mechanism such as a roller ball, a joystick, a mouse,or a navigation disk for manipulating operations of the communicationdevice 1000. The keypad 1008 can be an integral part of a housingassembly of the communication device 1000 or an independent deviceoperably coupled thereto by a tethered wireline interface (such as a USBcable) or a wireless interface supporting for example Bluetooth®. Thekeypad 1008 can represent a numeric keypad commonly used by phones,and/or a QWERTY keypad with alphanumeric keys. The UI 1004 can furtherinclude a display 1010 such as monochrome or color LCD (Liquid CrystalDisplay), OLED (Organic Light Emitting Diode) or other suitable displaytechnology for conveying images to an end user of the communicationdevice 1000. In an embodiment where the display 1010 is touch-sensitive,a portion or all of the keypad 1008 can be presented by way of thedisplay 1010 with navigation features.

The display 1010 can use touch screen technology to also serve as a userinterface for detecting user input. As a touch screen display, thecommunication device 1000 can be adapted to present a user interfacewith graphical user interface (GUI) elements that can be selected by auser with a touch of a finger. The touch screen display 1010 can beequipped with capacitive, resistive or other forms of sensing technologyto detect how much surface area of a user's finger has been placed on aportion of the touch screen display. This sensing information can beused to control the manipulation of the GUI elements or other functionsof the user interface. The display 1010 can be an integral part of thehousing assembly of the communication device 1000 or an independentdevice communicatively coupled thereto by a tethered wireline interface(such as a cable) or a wireless interface.

The UI 1004 can also include an audio system 1012 that utilizes audiotechnology for conveying low volume audio (such as audio heard inproximity of a human ear) and high volume audio (such as speakerphonefor hands free operation). The audio system 1012 can further include amicrophone for receiving audible signals of an end user. The audiosystem 1012 can also be used for voice recognition applications. The UI1004 can further include an image sensor 1013 such as a charged coupleddevice (CCD) camera for capturing still or moving images.

The power supply 1014 can utilize common power management technologiessuch as replaceable and rechargeable batteries, supply regulationtechnologies, and/or charging system technologies for supplying energyto the components of the communication device 1000 to facilitatelong-range or short-range portable applications. Alternatively, or incombination, the charging system can utilize external power sources suchas DC power supplied over a physical interface such as a USB port orother suitable tethering technologies.

The location receiver 1016 can utilize location technology such as aglobal positioning system (GPS) receiver capable of assisted GPS foridentifying a location of the communication device 1000 based on signalsgenerated by a constellation of GPS satellites, which can be used forfacilitating location services such as navigation. The motion sensor1018 can utilize motion sensing technology such as an accelerometer, agyroscope, or other suitable motion sensing technology to detect motionof the communication device 1000 in three-dimensional space. Theorientation sensor 1020 can utilize orientation sensing technology suchas a magnetometer to detect the orientation of the communication device1000 (north, south, west, and east, as well as combined orientations indegrees, minutes, or other suitable orientation metrics).

The communication device 1000 can use the transceiver 1002 to alsodetermine a proximity to a cellular, WiFi, Bluetooth®, or other wirelessaccess points by sensing techniques such as utilizing a received signalstrength indicator (RSSI) and/or signal time of arrival (TOA) or time offlight (TOF) measurements. The controller 1006 can utilize computingtechnologies such as a microprocessor, a digital signal processor (DSP),programmable gate arrays, application specific integrated circuits,and/or a video processor with associated storage memory such as Flash,ROM, RAM, SRAM, DRAM or other storage technologies for executingcomputer instructions, controlling, and processing data supplied by theaforementioned components of the communication device 1000.

Other components not shown in FIG. 10 can be used in one or moreembodiments of the subject disclosure. For instance, the communicationdevice 1000 can include a reset button (not shown). The reset button canbe used to reset the controller 1006 of the communication device 1000.In yet another embodiment, the communication device 1000 can alsoinclude a factory default setting button positioned, for example, belowa small hole in a housing assembly of the communication device 1000 toforce the communication device 1000 to re-establish factory settings. Inthis embodiment, a user can use a protruding object such as a pen orpaper clip tip to reach into the hole and depress the default settingbutton. The communication device 1000 can also include a slot for addingor removing an identity module such as a Subscriber Identity Module(SIM) card. SIM cards can be used for identifying subscriber services,executing programs, storing subscriber data, and so forth.

The communication device 1000 as described herein can operate with moreor less of the circuit components shown in FIG. 10. These variantembodiments can be used in one or more embodiments of the subjectdisclosure.

The communication device 1000 can be adapted to perform the functions ofsubscriber equipment 105, the media processor 706, the media devices708, or the portable communication devices 716 of FIG. 7, as well as theIMS CDs 801-802 and PSTN CDs 803-805 of FIG. 8. It will be appreciatedthat the communication device 1000 can also represent other devices thatcan communicate with networks of FIGS. 1-3 and with communicationsystems 700-800 of FIGS. 7-8 such as a gaming console and a mediaplayer.

The communication device 1000 shown in FIG. 10 or portions thereof canserve as a representation of one or more of the devices shown in FIGS.1-3, communication system 700, and communication system 800. Inaddition, the controller 1006 can be adapted in various embodiments toperform the functions of subscriber equipment 105.

Upon reviewing the aforementioned embodiments, it would be evident to anartisan with ordinary skill in the art that said embodiments can bemodified, reduced, or enhanced without departing from the scope of theclaims described below. Other embodiments can be used in the subjectdisclosure.

It should be understood that devices described in the exemplaryembodiments can be in communication with each other via various wirelessand/or wired methodologies. The methodologies can be links that aredescribed as coupled, connected and so forth, which can includeunidirectional and/or bidirectional communication over wireless pathsand/or wired paths that utilize one or more of various protocols ormethodologies, where the coupling and/or connection can be direct (e.g.,no intervening processing device) and/or indirect (e.g., an intermediaryprocessing device such as a router).

FIG. 11 depicts an exemplary diagrammatic representation of a machine inthe form of a computer system 1100 within which a set of instructions,when executed, may cause the machine to perform any one or more of themethods described above. In particular, the machine can provide thedynamic caching function and cache layer for a shadow CNR as shown inFIGS. 3-4. One or more instances of the machine can operate, forexample, as the server 730, the media processor and other devices ofFIGS. 1-3 and 7-8. In some embodiments, the machine may be connected(e.g., using a network 1126) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient user machine in a server-client user network environment, or as apeer machine in a peer-to-peer (or distributed) network environment.

The machine may comprise a server computer, a client user computer, apersonal computer (PC), a tablet, a smart phone, a laptop computer, adesktop computer, a control system, a network router, switch or bridge,or any machine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. It will beunderstood that a communication device of the subject disclosureincludes broadly any electronic device that provides voice, video ordata communication. Further, while a single machine is illustrated, theterm “machine” shall also be taken to include any collection of machinesthat individually or jointly execute a set (or multiple sets) ofinstructions to perform any one or more of the methods discussed herein.

The computer system 1100 may include a processor (or controller) 1102(e.g., a central processing unit (CPU)), a graphics processing unit(GPU, or both), a main memory 1104 and a static memory 1106, whichcommunicate with each other via a bus 1108. The computer system 1100 mayfurther include a display unit 1110 (e.g., a liquid crystal display(LCD), a flat panel, or a solid state display). The computer system 1100may include an input device 1112 (e.g., a keyboard), a cursor controldevice 1114 (e.g., a mouse), a disk drive unit 1116, a signal generationdevice 1118 (e.g., a speaker or remote control) and a network interfacedevice 1120. In distributed environments, the embodiments described inthe subject disclosure can be adapted to utilize multiple display units1110 controlled by two or more computer systems 1100. In thisconfiguration, presentations described by the subject disclosure may inpart be shown in a first of the display units 1110, while the remainingportion is presented in a second of the display units 1110.

The disk drive unit 1116 may include a tangible computer-readablestorage medium 1122 on which is stored one or more sets of instructions(e.g., software 1124) embodying any one or more of the methods orfunctions described herein, including those methods illustrated above.The instructions 1124 may also reside, completely or at least partially,within the main memory 1104, the static memory 1106, and/or within theprocessor 1102 during execution thereof by the computer system 1100. Themain memory 1104 and the processor 1102 also may constitute tangiblecomputer-readable storage media.

Dedicated hardware implementations including, but not limited to,application specific integrated circuits, programmable logic arrays andother hardware devices can likewise be constructed to implement themethods described herein. Application specific integrated circuits andprogrammable logic array can use downloadable instructions for executingstate machines and/or circuit configurations to implement embodiments ofthe subject disclosure. Applications that may include the apparatus andsystems of various embodiments broadly include a variety of electronicand computer systems. Some embodiments implement functions in two ormore specific interconnected hardware modules or devices with relatedcontrol and data signals communicated between and through the modules,or as portions of an application-specific integrated circuit. Thus, theexample system is applicable to software, firmware, and hardwareimplementations.

In accordance with various embodiments of the subject disclosure, theoperations or methods described herein are intended for operation assoftware programs or instructions running on or executed by a computerprocessor or other computing device, and which may include other formsof instructions manifested as a state machine implemented with logiccomponents in an application specific integrated circuit or fieldprogrammable gate array. Furthermore, software implementations (e.g.,software programs, instructions, etc.) including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the methods described herein. It is furthernoted that a computing device such as a processor, a controller, a statemachine or other suitable device for executing instructions to performoperations or methods may perform such operations directly or indirectlyby way of one or more intermediate devices directed by the computingdevice.

While the tangible computer-readable storage medium 1122 is shown in anexample embodiment to be a single medium, the term “tangiblecomputer-readable storage medium” should be taken to include a singlemedium or multiple media (e.g., a centralized or distributed database,and/or associated caches and servers) that store the one or more sets ofinstructions. The term “tangible computer-readable storage medium” shallalso be taken to include any non-transitory medium that is capable ofstoring or encoding a set of instructions for execution by the machineand that cause the machine to perform any one or more of the methods ofthe subject disclosure. The term “non-transitory” as in a non-transitorycomputer-readable storage includes without limitation memories, drives,devices and anything tangible but not a signal per se.

The term “tangible computer-readable storage medium” shall accordinglybe taken to include, but not be limited to: solid-state memories such asa memory card or other package that houses one or more read-only(non-volatile) memories, random access memories, or other re-writable(volatile) memories, a magneto-optical or optical medium such as a diskor tape, or other tangible media which can be used to store information.Accordingly, the disclosure is considered to include any one or more ofa tangible computer-readable storage medium, as listed herein andincluding art-recognized equivalents and successor media, in which thesoftware implementations herein are stored.

Although the present specification describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the disclosure is not limited to such standards andprotocols. Each of the standards for Internet and other packet switchednetwork transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) representexamples of the state of the art. Such standards are from time-to-timesuperseded by faster or more efficient equivalents having essentiallythe same functions. Wireless standards for device detection (e.g.,RFID), short-range communications (e.g., Bluetooth®, WiFi, Zigbee®), andlong-range communications (e.g., WiMAX, GSM, CDMA, LTE) can be used bycomputer system 1100.

The illustrations of embodiments described herein are intended toprovide a general understanding of the structure of various embodiments,and they are not intended to serve as a complete description of all theelements and features of apparatus and systems that might make use ofthe structures described herein. Many other embodiments will be apparentto those of skill in the art upon reviewing the above description. Theexemplary embodiments can include combinations of features and/or stepsfrom multiple embodiments. Other embodiments may be utilized and derivedtherefrom, such that structural and logical substitutions and changesmay be made without departing from the scope of this disclosure. Figuresare also merely representational and may not be drawn to scale. Certainproportions thereof may be exaggerated, while others may be minimized.Accordingly, the specification and drawings are to be regarded in anillustrative rather than a restrictive sense.

Although specific embodiments have been illustrated and describedherein, it should be appreciated that any arrangement calculated toachieve the same purpose may be substituted for the specific embodimentsshown. This disclosure is intended to cover any and all adaptations orvariations of various embodiments. Combinations of the aboveembodiments, and other embodiments not specifically described herein,can be used in the subject disclosure. In one or more embodiments,features that are positively recited can also be excluded from theembodiment with or without replacement by another component or step. Thesteps or functions described with respect to the exemplary processes ormethods can be performed in any order. The steps or functions describedwith respect to the exemplary processes or methods can be performedalone or in combination with other steps or functions (from otherembodiments or from other steps that have not been described).

Less than all of the steps or functions described with respect to theexemplary processes or methods can also be performed in one or more ofthe exemplary embodiments. Further, the use of numerical terms todescribe a device, component, step or function, such as first, second,third, and so forth, is not intended to describe an order or functionunless expressly stated so. The use of the terms first, second, thirdand so forth, is generally to distinguish between devices, components,steps or functions unless expressly stated otherwise. Additionally, oneor more devices or components described with respect to the exemplaryembodiments can facilitate one or more functions, where the facilitating(e.g., facilitating access or facilitating establishing a connection)can include less than every step needed to perform the function or caninclude all of the steps needed to perform the function.

In one or more embodiments, a processor (which can include a controlleror circuit) has been described that performs various functions. Itshould be understood that the processor can be multiple processors,which can include distributed processors or parallel processors in asingle machine or multiple machines. The processor can be used insupporting a virtual processing environment. The virtual processingenvironment may support one or more virtual machines representingcomputers, servers, or other computing devices. In such virtualmachines, components such as microprocessors and storage devices may bevirtualized or logically represented. The processor can include a statemachine, application specific integrated circuit, and/or programmablegate array including a Field PGA. In one or more embodiments, when aprocessor executes instructions to perform “operations”, this caninclude the processor performing the operations directly and/orfacilitating, directing, or cooperating with another device or componentto perform the operations.

The Abstract of the Disclosure is provided with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims. In addition, in the foregoing Detailed Description, it can beseen that various features are grouped together in a single embodimentfor the purpose of streamlining the disclosure. This method ofdisclosure is not to be interpreted as reflecting an intention that theclaimed embodiments require more features than are expressly recited ineach claim. Rather, as the following claims reflect, inventive subjectmatter lies in less than all features of a single disclosed embodiment.Thus the following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separately claimedsubject matter.

What is claimed is:
 1. A server comprising: a memory to storeinstructions; and a processor coupled to the memory, wherein theprocessor, responsive to executing the instructions, performs operationscomprising: storing subscriber data and network data in a firstrepository of a communication network of a network provider, thesubscriber data obtained from equipment of a subscriber to thecommunication network; caching a subscriber profile in a secondrepository in communication with the first repository and accessible bya first application provider, to create a cached subscriber profile thatenables updating in accordance with subscriber use of a firstapplication to produce a first updated version of the cached subscriberprofile, wherein the cached subscriber profile comprises the subscriberdata from the first repository and information related to the subscriberuse of the first application from the first application provider,wherein the first updated version is accessible by the first applicationprovider, and wherein access to the subscriber data in the firstrepository by the first application provider is prevented.
 2. The serverof claim 1, wherein the operations further comprise updating the firstupdated version of the cached subscriber profile in accordance withsubscriber use of a second application from a second applicationprovider to produce a second updated version of the cached subscriberprofile, wherein the second updated version of the cached subscriberprofile is accessible to the first application provider and to thesecond application provider, and wherein the first application providerand the second application provider are distinct from the networkprovider and the subscriber.
 3. The server of claim 2, wherein thesecond updated version of the cached subscriber profile is producedsubsequent to the first updated version of the cached subscriberprofile, and wherein the operations further comprise providing a labelfor the second updated version identifying the second updated version asa new version of the cached subscriber profile.
 4. The server of claim3, wherein the operations further comprise providing the new version ofthe cached subscriber profile to the first application provider, therebypropagating changes to the cached subscriber profile.
 5. The server ofclaim 4, wherein the propagating is performed using an open applicationprogram interface.
 6. The server of claim 3, wherein the operationsfurther comprise: upon detecting an error in the new version of thecached subscriber profile, discarding the new version; and providing thelabel to a previously produced version of the cached subscriber profile.7. The server of claim 1, wherein the cached subscriber profile isaccessed by the first application provider and the cached subscriberprofile is updated in accordance with a network management policy of thenetwork provider.
 8. The server of claim 7, wherein the operationsfurther comprise storing the first updated version of the cachedsubscriber profile as updated subscriber data in the first repositoryupon expiration of a predetermined time period.
 9. A computer-readablestorage device, comprising instructions which, when executed by aprocessor, cause the processor to perform operations comprising: cachinga subscriber profile in a network repository to create a cachedsubscriber profile, wherein the cached subscriber profile comprises areplica of stored subscriber data; and updating the cached subscriberprofile in accordance with subscriber use of a first application from afirst application provider to produce a first updated version of thecached subscriber profile, wherein the first updated version isaccessible by the first application provider, and wherein access to thestored subscriber data by the first application provider is prevented.10. The computer-readable storage device of claim 9, wherein theoperations further comprise updating the first updated version of thecached subscriber profile in accordance with subscriber use of a secondapplication from a second application provider to produce a secondupdated version of the cached subscriber profile, wherein the secondupdated version of the cached subscriber profile is accessible to thefirst application provider and to the second application provider. 11.The computer-readable storage device of claim 10, wherein the operationsfurther comprise providing a label for the second updated versionidentifying the second updated version as a new version of the cachedsubscriber profile.
 12. The computer-readable storage device of claim11, wherein the operations further comprise providing the new version ofthe cached subscriber profile to the first application provider, therebypropagating changes to the cached subscriber profile.
 13. Thecomputer-readable storage device of claim 11, wherein the operationsfurther comprise: upon detecting an error in the new version of thecached subscriber profile, discarding the new version; and providing thelabel to a previously produced version of the cached subscriber profile.14. The computer-readable storage device of claim 9, wherein the cachedsubscriber profile is accessed by the first application provider and thecached subscriber profile is updated in accordance with a networkmanagement policy of a network provider.
 15. A method comprising:caching, by a system comprising a processor, a subscriber profile in anetwork repository to create a cached subscriber profile, wherein thecached subscriber profile comprises a replica of stored subscriber data;updating, by the system, the cached subscriber profile in accordancewith subscriber use of a first application from a first applicationprovider to produce a first updated version of the cached subscriberprofile; and updating, by the system, the first updated version of thecached subscriber profile in accordance with subscriber use of a secondapplication from a second application provider to produce a secondupdated version of the cached subscriber profile, wherein the firstupdated version of the cached subscriber profile and the second updatedversion of the cached subscriber profile are accessible by the firstapplication provider and by the second application provider.
 16. Themethod of claim 15, wherein access to the stored subscriber data by thefirst application provider and by the second application provider isprevented.
 17. The method of claim 15, further comprising providing alabel for the second updated version identifying the second updatedversion as a new version of the cached subscriber profile.
 18. Themethod of claim 17, further comprising providing the new version of thecached subscriber profile to the first application provider, therebypropagating changes to the cached subscriber profile.
 19. The method ofclaim 17, further comprising: upon detecting an error in the new versionof the cached subscriber profile, discarding the new version; andproviding the label to a previously produced version of the cachedsubscriber profile.
 20. The method of claim 17, further comprisingstoring the new version of the cached subscriber profile as updatedsubscriber data upon expiration of a predetermined time period.